package com.rolerealm.domain.dto;

import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import jakarta.validation.constraints.Size;

/**
 * 角色更新请求DTO
 * 
 * @author RoleRealm Team
 * @version 1.0.0
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class CharacterUpdateDTO {

    /**
     * 角色ID
     */
    private Long id;

    /**
     * 角色名称
     */
    @Size(max = 100, message = "角色名称长度不能超过100个字符")
    private String name;

    /**
     * 角色描述
     */
    @Size(max = 1000, message = "角色描述长度不能超过1000个字符")
    private String description;

    /**
     * 角色背景介绍
     */
    @Size(max = 2000, message = "角色背景长度不能超过2000个字符")
    private String background;

    /**
     * 角色性格特征
     */
    @Size(max = 500, message = "角色性格特征长度不能超过500个字符")
    private String personality;

    /**
     * 时代
     */
    @Size(max = 50, message = "时代长度不能超过50个字符")
    private String era;

    /**
     * 地区
     */
    @Size(max = 50, message = "地区长度不能超过50个字符")
    private String region;

    /**
     * 分类
     */
    private String category;

    /**
     * 技能类型
     */
    private String skillType;

    /**
     * 头像URL
     */
    @Size(max = 500, message = "头像URL长度不能超过500个字符")
    private String avatarUrl;

    /**
     * 支持语言
     */
    private String language;

    /**
     * 状态
     */
    private Integer status;
}
